/* PROJECT : http://code.google.com/p/gtk-study-korea/
 *
 * SUB_PROJECT : BJ_QUIZ
 *
 * FILE : config.c
 */

#include <gtk/gtk.h>

#include "headers.h"

/******************************************
 * 상수
 ******************************************/

/******************************************
 * 변수
 ******************************************/

/******************************************
 * 함수
 ******************************************/
static void on_button3_clicked( GtkWidget *widget, gpointer   data );

/******************************************
 * 입력 :
 * 사용 :
 * 출력 :
 * 설명 :
 *     설정 다이얼로그 메인
 ******************************************/
void fn_config_main(GtkBuilder *bd)
{
	// 위젯 생성
	WCONF.dialog1 = GTK_WIDGET( gtk_builder_get_object( bd, "dialog1") );
	gtk_window_set_title( GTK_WINDOW(WCONF.dialog1), "설정");

	WCONF.button3 = GTK_WIDGET( gtk_builder_get_object( bd, "button3") );

	// 시그널 연결
	g_signal_connect (G_OBJECT (WCONF.button3), "clicked", G_CALLBACK (on_button3_clicked), NULL);	

	g_fprintf(F_LOG, "\nconfig.glade 실행");

	gtk_dialog_run( GTK_DIALOG(WCONF.dialog1));

	return;
}

/******************************************
 * 입력 :
 * 사용 :
 * 출력 :
 * 설명 :
 *     설정 파일 초기화
 ******************************************/
void fn_config_file_init(void)
{
	// 설정 파일을 확인하여 없으면 생성한다
	F_CONF = (FILE *)(g_fopen("bj_quiz.cfg", "r") );

	if(F_CONF)
	{
		// 설정 파일을 읽는다
		g_fprintf(F_LOG,"\nbj_quiz.cfg 를 읽습니다.");
	}
	else
	{
		// 설정 파일을 생성한다
		F_CONF = (FILE *)(g_fopen("bj_quiz.cfg", "w") );

		if(F_CONF == NULL)
		{
			g_fprintf(F_LOG,"\nbj_quiz.cfg 를 열수 없습니다");
			return;
		}

		// 설정 변수 초기화
		ST_CONF[0].key = 'A';
		ST_CONF[0].icon[0] = 0;

		ST_CONF[1].key = 'B';
		ST_CONF[1].icon[0] = 0;

		// 파일 내용 생성
		g_fprintf(F_CONF, "[USER1]\n");
		g_fprintf(F_CONF, "KEY=A\n");
		g_fprintf(F_CONF, "ICON=\n");

		g_fprintf(F_CONF, "\n");

		g_fprintf(F_CONF, "[USER2]\n");
		g_fprintf(F_CONF, "KEY=B\n");
		g_fprintf(F_CONF, "ICON=\n");
	}

	if(F_CONF)
	{
		fclose(F_CONF);
	}

	return;
}

/******************************************
 * 입력 :
 * 사용 :
 * 출력 :
 * 설명 :
 *     아이콘 파일 열기 버튼
 ******************************************/
static void on_button3_clicked( GtkWidget *widget, gpointer   data )
{
	g_fprintf(F_LOG, "\n아이콘 열기");
}

